/* 
*env: 4.0.x
fuction:  测试 mongo js 获取数据库连接，并打印数据库
https://docs.mongodb.com/v4.0/reference/connection-string
*/

// 单实例连接 ,此处指定端口是有效的
conn = new Mongo("mongodb://172.27.1.40:27017/");
//db = conn.getDB("student");

// 测试连接 
printjson(db.adminCommand('listDatabases'))

// 分片连接
//conn = new Mongo("mongodb://172.27.1.40:27000,172.27.1.41:27000,172.27.1.42:27000/");
//db = conn.getDB("student");

// 测试连接 
//printjson(db.adminCommand('listDatabases'))


// 分片连接，此处指定端口无效，需要在命令行中指定
//conn = new Mongo("mongodb://172.27.1.40:27000,172.27.1.41:27000,172.27.1.42:27000/");
//db = conn.getDB("student");



// 上面连接信息简写 ，直接在连接信息中指明数据库
//

db =  connect("mongodb://172.27.1.40:27000,172.27.1.41:27000,172.27.1.42:27000/student")

cursor = db.schoo.find();
while ( cursor.hasNext() ) {
   printjson( cursor.next() );
}
printjson("find data from conllection");





// 连接到指定数据库
//var usedb = connect('host[:port]/mydb');
var usedb = connect('mongodb://172.27.6.21:27017/stu');
 

//登录验证
//切换至验证数据库
// db.getSiblingDB

var authdb = usedb.getSiblingDB('admin');
//db.auth(username, password)
 
authdb.auth('root','abc123');
print("==========")
//print([usedb.stu.find()]);
//print(usedb.stu.find({"name":"zs"}));


//将查询结果通过游标进行输出
var om = usedb.stu.find({"name":"zs"});
om.forEach(function(x){

 printjson(x)

});


//通过while 循环输出内容
var stuok = usedb.stu.find();
while(stuok.hasNext())
{
printjson(stuok.next());
}


